/*
 * @(#)ITransformer.java
 * Date 2013-09-24
 * Version 1.0
 * Author Jim Horner
 * Copyright (c)2012
 */


package us.hornerscorners.lamppost.transformer;

import java.util.Collection;

import us.hornerscorners.lamppost.exception.ServiceActionException;


/**
 * Interface description
 *
 *
 * @param <X>
 * @param <Y>
 *
 * @version        v1.0, 2013-09-24
 * @author         Jim Horner
 */
public interface ITransformer<X, Y> {

    /**
     * Method description
     *
     *
     * @param input
     *
     * @return
     *
     */
    public abstract Collection<Y> transform(final Collection<? extends X> input)
            throws ServiceActionException;

    /**
     * Method description
     *
     *
     * @param input
     *
     * @return
     */
    public abstract Y transform(final X input) throws ServiceActionException;
}
